The present invention relates generally to improvements to bar code scanners and bar code scanning. More particularly, the invention relates to advantageous systems and techniques for adapting the processing of a scan signal to variations in a scan beam whose reflections produce the scan signal.
Bar code scanners operate by generating a scan pattern produced by reflections of a laser beam from a rotating polygonal spinner and from a series of fixed mirrors. A laser source emits the laser beam, which is directed to the spinner. The laser beam strikes the spinner and is reflected from the spinner to a series of fixed mirrors, to create a scan beam. The scan beam is directed to and out of a scan window of the scanner. As the spinner rotates, the angle at which the laser beam is reflected from the spinner changes. Typically, the scanner is designed so that this change in reflection angle causes the scan beam to move across the scan window, tracing out a scan line. In addition, the rotation of the spinner causes the laser beam to take different reflection paths, so that the scan beam traces out a set of scan lines comprising a scan pattern.
When a scan line is reflected from an object outside of the scanner, a portion of the light is frequently reflected back into the scanner through the scan window, where it is used to produce a scan signal that can be processed to detect and decode a bar code pattern.
Depending on the design of the scanner, scan patterns may be produced emerging from one, two or more scan windows. During generation of the scan pattern, the length of the path that the laser beam must travel to reach the scan window may change, and the laser beam may be reflected at different angles and from different sets of mirrors. These differing conditions relating to the reflection of the laser beam may cause the scan beam emerging from a scan window to exhibit differing characteristics. In addition, a scan beam may exhibit differing characteristics as it traces out a scan line. Such changes in characteristics may be caused, for example, by differing angles of the scan beam as it traces the line. For example, at the beginning and the end of a scan line, the scan beam may emerge from the scan window at an angle, while at the middle of a scan line, the scan beam is nearly perpendicular to the scan window.
The differing characteristics of the scan beam typically include differing intensities of scan lines and variations in intensity along the same scan line, resulting in differing intensities of light reflected back into the scan window. In addition, differing scan beam angles may result in more or less direct reflection of light back into the scan window, causing variations of the scan signal. Additional variations in the scan signal may result from other differences in the scan beam characteristics, as the scan pattern or patterns are traced out. Furthermore, in a multiple window scanner, the scan pattern emerging from one window may be more intense or have other characteristics that produce a stronger scan signal than does a scan pattern emerging from another window. These variations may cause difficulties in properly detecting and decoding bar codes, unless proper accommodation is made for such changes. In addition, at some points during the rotation of the spinner, the scan beam may be positioned such that any data it provides is unreliable. For example, the scan beam may strike an internal obstruction within the scanner. While the scan beam is striking the obstruction, the light reflected out of the scan window may be diffuse and unreliable for use in scanning.
In order to overcome these difficulties, a scanner designed according to the principles of the present invention takes advantage of available information relating to the angle of the spinner, and uses this information in setting scanner parameters. If the position of the spinner at a particular time is known, the laser beam path, scan beam intensity and other characteristics of the scan patterns emerging from the scan windows can be calculated. The required calculations are performed by taking into account the various placements and orientations of elements within the scanner, the properties of the laser beam used to produce the scan pattern and the optical properties and other characteristics of elements affecting the generation of the scan pattern. Once the relevant characteristics of the scan pattern are known, these characteristics can be taken into account in setting scanner parameters. For example, the collection efficiency provided by the scan beam tracing a scan line is often relatively low toward the ends of the scan line and higher toward the center of the scan line. The detection threshold used for bar code detection can be adjusted depending on the position of the scan beam in the scan line.
The position of the spinner is suitably determined using any of a number of techniques. For example, a Hall sensor may be implemented with a spinner motor, producing signals indicating the angular position of the spinner motor and thus of the spinner. Alternatively, the spinner position may be optically calibrated at various intervals, and a timer used to compute the angular position of the spinner. If the spinner rotates at a known speed, the position of the spinner can be calculated using the time elapsed since the spinner was in a known position. Other techniques for determining the angle of rotation of the spinner may be employed, and any technique providing sufficiently accurate information about the rotation angle may be used.
A more complete understanding of the present invention, as well as further features and advantages of the invention, will be apparent from the following Detailed Description and the accompanying drawings.